мы видим что сгенерировалась vmulsp (%rdi,%rax,8), %xmm0, %xmm0
но мы точно знаем, что в этом случае возможно применение инструкции vmulpd
(%rdi,%rax,8), %ymm0, %ymm1
Эта инструкция есть точно в AVX, но почему-то Rust ее не генерирует.
Возможно это связано с переполнением, которе мы пытаемся отключить, но это не
помогает.
Хочется какой-то референсный код с которым можно сравниваться бенчится.
По пути было перепробовано несколько интринсикс библиотек: x86Intrin (Intel) и
llvmint/simdty (LLVM). Раст для векторизации использует встроенную
core::intrinsics.